import axios from "axios";
import crypt from "../utils/secret";
import cryptos from "../utils/crypto";
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    //添加请求头
    config.headers={
        'Accept-Encoding': 'gzip',
        'user-agent':'chrome'
    }
    //设置加密搜索内容
    if(config.data!==undefined&&config.data.params!==undefined&&config.data.key===true) {
        const date = new Date().getTime()//时间戳
        const value = config.data.params//加密的文字
        const search_word_encrpt = crypt.Encrypt(`{'letter':'${value}','timeStamp':'${date}'}`);
        config.data.params = search_word_encrpt;
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    //如果不是object就是number，number说明get_length为true，只返回长度
    if(typeof response.data === 'object'&&response.data.extra!==undefined){
        // 对响应数据做点什么
        const {extra,key,word}=response.data
        const result=cryptos.Decrypt(crypt.dEncrypt(key),crypt.dEncrypt(extra),word)
        const data_split=result.split('+++\',')
        response.data=data_split
    }
    return response;
}, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default axios